# -!- coding: utf-8 -!-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 存放api接口信息。以dict形式存放，这样就可以API_ALL[''][url]这种方式去取，看起来较直观，知道取得是哪个接口的那部分信息
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

import json
from pycacho.cachobase.deal_time import minus_date

requestTm = minus_date(0,'q')
jrnNo = 'CN' + minus_date(0,'q')
clientId = '37740'
userId = '9901250002200'
# 接出接口
API_MSYD={
    # 1.4.2.9 借款实际出资方预查询接口
    "act_capital_query": {
        "requestTm":requestTm,             # 请求时间 通用字段
        "jrnNo":jrnNo,                     # 请求流水号  通用字段
        'clientId':clientId,               # 平台分配接入方 ID   通用字段
        "mblNo":'13000000001',             # 用户注册手机号
        "hbUsrNo":'9901250002200',         # 和包贷用户号
        "brwOrdNo":'56'+minus_date(1,'q'), # 和包贷借款订单号
        "brwOrdDt":minus_date(1,'s'),      # 和包贷借款订单日期
        "productNm": "手机",
        "productId": "10001",
        "pkgAmt":"10000",                  # 套餐金额
        "loanAmt":"30000"                  # 借款金额
    },

    # 1.4.2.1 贷款申请接口
    "loan_apply":{
        "requestTm":requestTm,             # 请求时间 通用字段
        "jrnNo":jrnNo,                     # 请求流水号  通用字段
        'clientId':clientId,               # 平台分配接入方 ID   通用字段
        "mobileNo":'13000000001',          # 用户注册手机号
        "userId":'9901250002200',          # 和包贷用户号
        "idCardUserName":"测试",            # 用户姓名
        "idCardNo": "440306199001020060",  # 用户身份证号
        "frontIdCardID": "123455.jpg",     # 身份证正面照片 ID
        "blackIdCardID": "123456.jpg",     # 身份证反面照片 ID
        "liveImageID": "123457.jpg",       # 活体照片 ID
        "bankCardNo": "6214830116281592",
        "bankUserName": "李宗喆",
        "bankMobileNo": "15210081274",
        "bankCode": "CMB",
        "liveOrgName": "ORGNAME",          # 活体识别机构名称
        "liveOrgId": "ORG001",
        "liveScore": "98",                 # 活体识别分数
        "liveTime": "20200421115843",      # 活体检测通过时间
        "brwOrdNo":'56'+minus_date(1,'q'), # 和包贷借款订单号
        "brwOrdDt":minus_date(1,'s'),      # 和包贷借款订单日期
        "productName": "手机",
        "productId": "10001",
        "productAmount":"10000",           # 套餐金额
        "borrowAmount":"700.2",           # 借款金额  规则最大5000
        "borrowPeriods":"12",              # 借款分期数
        "borrowPeriodsRate":"0.03",        # 借款分期费率
        "goodsName": "电话卡",              # 商品名称
        "goodsTypeId": "P00001",           # 商品编号
        "managerMode":"JD",                # 渠道类型（京东商城JD）
        "provinceBillDate":"1",            # 省份账单日1
        "isNewUser": "Y",                  # 是否新用户(Y-是，N-否)
        "adreeseeName": "李宗喆",         # 收件人姓名
        "adreeseeMobile": "15210081274",   # 收件人手机号
        "adreeseeAddress": "广东省越秀区",  # 收件人地址
        "mallOrderNo": "MALL00000001"      # 商城订单号
    },

    # 1.4.2.2 贷款结果查询接口
    "loan_result_query":{
        "requestTm":requestTm,             # 请求时间 通用字段
        "jrnNo":jrnNo,                     # 请求流水号  通用字段
        'clientId':clientId,               # 平台分配接入方 ID   通用字段
        "brwOrdNo":"12312312",             # 和包贷借款订单号()
        "brwOrdDt": "20190708"             # 和包贷借款订单日期
    },

    # 1.4.2.3 业务办理通知接口（生成借据）
    "package_notify":{
        "requestTm":requestTm,             # 请求时间 通用字段
        "jrnNo":jrnNo,                     # 请求流水号  通用字段
        'clientId':clientId,               # 平台分配接入方 ID   通用字段
        "brwOrdNo":"18390525555",          # 和包贷借款订单号
        "brwOrdDt":minus_date(1,'s'),      # 和包贷借款订单日期  '20200311'
        "orgOrderNo": "12312312",            # 资金方借款订单号
        "orgOrderDt": minus_date(1, 's'),  # 资金方借款订单日期  '20200311'
        "packageResult": "S"               # 订单办理结果：S-成功，F-失败
    },

    # 1.4.2.8 资金方解冻额度接口(业务办理通知之后就不可解冻了)
    "unfreeze": {
        "requestTm": requestTm,            # 请求时间 通用字段
        "jrnNo": jrnNo,                    # 请求流水号  通用字段
        'clientId': clientId,              # 平台分配接入方 ID   通用字段
        "brwOrdNo": "12312312",            # 和包贷借款订单号()
        "brwOrdDt": "20190708"             # 和包贷借款日期
    },

    # 1.4.2.5 还款计划查询接口
    "repayment_plan_query":{
        "requestTm": requestTm,            # 请求时间 通用字段
        "jrnNo": jrnNo,                    # 请求流水号  通用字段
        'clientId': clientId,              # 平台分配接入方 ID   通用字段
        "brwOrdNo": "12312312",            # 和包贷借款订单号()
        "brwOrdDt": "20190708"             # 和包贷借款日期
    },

    # 1.4.2.6 主动还款申请接口(试算接口)
    "repayment": {
        "requestTm": requestTm,            # 请求时间 通用字段
        "jrnNo": jrnNo,                    # 请求流水号  通用字段
        'clientId': clientId,              # 平台分配接入方 ID   通用字段
        "brwOrdNo": "12312312",            # 和包贷借款订单号()
        "brwOrdDt": "20190708",            # 和包贷借款日期
        "orgOrdNo": "12312312",            # 资金方借款订单号
        "repayModel": "1",                 # 还款模式 1-还某期,2-提前清贷,3-退货
        "rpySeq": "1",                     # 还款期数 当rpyMod=1时必传,其余为空
    },

    # 1.4.2.4 退货申请接口(退货成功)
    "returns":{
        "requestTm": requestTm,            # 请求时间 通用字段
        "jrnNo": jrnNo,                    # 请求流水号  通用字段
        'clientId': clientId,              # 平台分配接入方 ID   通用字段
        "refundJrounalNo": 're20200513101447', # 'r'+requestTm,  # 退货流水号
        "brwOrdNo": "12312312",            # 和包贷借款订单号()
        "brwOrdDt": "20190708",            # 和包贷借款日期
        "refundAmount": "944.16",          # 退货金额
        "repayModel": "1",                 # 操作类型：1-退货申请，2-退货查询
        "refundType": "1"                  # 退货类型：1-退全部，2-退部分（暂时无）
    },

    # 1.4.2.7 还款结果通知接口(还某期、提前结清)
    "repayment_result_notify":{
        "requestTm": requestTm,            # 请求时间 通用字段
        "jrnNo": jrnNo,                    # 请求流水号  通用字段
        'clientId': clientId,              # 平台分配接入方 ID   通用字段
        "brwOrdNo":"18390525555",          # 和包贷借款订单号
        "brwOrdDt":"20190726",             # 和包贷借款订单日期
        "repayOrdNo": "18390525555",       # 和包贷还款订单号
        "repayOrdDt": minus_date(0,'s'),   # 和包贷还款订单日期
        "repaySeq":"1",                    # 还款期数：提前结清时为 ALL，其他为期数
        "repayAmount": "1000.00",          # 实际还款金额
        "repayStatus": "S",                # 还款状态 S成功/F失败
        "repayType": "FEE"                 # 还款类型 FEE时：表示是退货手续；其他（包括为空）：均为正常还款或扣款
    },

    # 1.4.1.1 贷款结果通知接口（调用）
    "loan-result-notify": {
        "requestTm": requestTm,            # 请求时间 通用字段
        "journalNo": jrnNo,                # 请求流水号  通用字段
        'clientId': clientId,              # 平台分配接入方 ID   通用字段
        "version": "1.0",                  # 默认：1.0
        "signType": "RSA",                 # 默认：RSA
        "subClientId": "MSXD",             # 可为空，由接入方自己分配
        "appVersion": "001",               # 可为空，app版本号
        "osVersion": "001",                # 可为空，系统版本号
        "terminalType": "pc",              # 可为空，终端类型
        "terminalId": "T001",              # 终端ID，terminalType=IOS或ANDRIOD时，上送
        "deviceId": "001",                 # 设备ID（mac），terminalType=IOS或ANDRIOD时，上送

        "brwOrdNo": "ord202004260004",
        "brwOrdDt": "20200426",
        "creditAmount": "580.00",          # 授信额度（无效）
        "loanApprovalStatus": "S",         # S-成功，F失败
        "loanApprovalInfo": "成功",
        "orgOrderNo": "CW20200426OL000004",
        "orgOrderDt": "20200426"
    }

}

if __name__ == '__main__':
    # json indent=缩进空格数,得到树型格式; ensure_ascii=False,不希望中文字符等被unicode转义; sort_keys=True,希望显示的字典内的字段是排过序的
    data = json.dumps(API_MSYD['freeze'],indent=4,ensure_ascii=False)
    print(data)